package com.lzj.server.common.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lzj.server.common.model.Attachment;
import com.lzj.server.common.model.FileInfo;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author Lzj
 * @date 2025/5/26
 * @description 附件接口服务
 */
public interface AttachmentService extends IService<Attachment> {
    /**
     * 分片上传文件
     *
     * @param file       文件对象
     * @param uploadId   上传任务ID
     * @param partNumber 分片序号
     * @return 上传成功状态
     */
    Boolean uploadPart(MultipartFile file, String uploadId, int partNumber);

    /**
     * 合并分片文件
     *
     * @param fileInfo 文件信息
     * @return 合并成功文件ID
     */
    Long merge(FileInfo fileInfo);

    /**
     * 初始化上传任务
     *
     * @return 上传任务ID
     */
    String initUpload();

    /**
     * 上传文件
     *
     * @param file 文件对象
     */
    Long updateFile(MultipartFile file);
}
